﻿using BUGCOME.Model;
using BUGCOME.Model.Log;
using BUGCOME.Model.Log.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUGCOME.ServiceCore.Services.IServices
{
    /// <summary>
    /// 操作日记业务逻辑接口
    /// </summary>
    public interface IOperLogService
    {
        /// <summary>
        /// 添加操作日志
        /// </summary>
        /// <param name="operLog"></param>
        Task InsertOperlog(OperLog operLog);

        /// <summary>
        /// 查询系统操作日志集合
        /// </summary>
        /// <param name="operLog">操作日志对象</param>
        /// <returns>操作日志集合</returns>
        Task<PagedInfo<OperLog>> SelectOperLogListAsync(OperLogQueryDto operLog);

        /// <summary>
        /// 清空操作日志
        /// </summary>
        Task CleanOperLog();

        /// <summary>
        /// 批量删除系统操作日志
        /// </summary>
        /// <param name="operIds">需要删除的操作日志ID</param>
        /// <returns>结果</returns>
        Task<int> DeleteOperLogByIdsAsync(long[] operIds);

        /// <summary>
        /// 查询操作日志详细
        /// </summary>
        /// <param name="operId">操作ID</param>
        /// <returns>操作日志对象</returns>
       Task<OperLog> SelectOperLogByIdAsync(long operId);
    }
}
